前言

前两天忙里偷闲将第五版《Go学习笔记》上下册合并,预备交给出版社编辑。不经意扫了一眼更新记录,才发觉四年光阴恍然而过。不知从何时起,岁月流逝的速度越来越快,抓不得,留不住。

我很擅长坚持,不知是因为笨,还是性情迟钝的缘故。在给编辑写作者简介时,我努力回忆自己最近二十年的经历,好像除了些纷扰的人和事外,就是一段段在不同技术圈子里日夜探索的记忆,历久弥新。

现在带了些学生,每每交流时,总偷偷庆幸自己是个先行者,没有互联网的“黑暗时代”反而造就了踏实的基础,远不是现今乱花迷眼的境况。看着他们对于具体实现“懵懂无知”的表现,我对于写书这事就愈发虔诚,生怕误了别人的光阴和热情。似乎《学习笔记》这个名字才是最好的诠释,立不得案头,权作闲书,稍能观感一二即可。

因喜爱C,故对Go关注得很早。观望良久,终究受不住诱惑,一头栽了进去。边学边记,于是有了最早的《学习笔记》。只因错漏过多,发到某论坛着实没砸出什么水花来。此后,对于宣传也淡了心思,再不愿出去,只自己默默更新,或发到微博,给一些熟识尚惦记这事的人打个招呼。

某日,一编辑发来消息,询问我是否出版,才恍然知道这书原也是可印的,好像自己从没想过。犹豫再三,且将几本笔记从GitHub下架。只可惜,因某些理念不同,最终未能如愿,这一拖就是许多时日。

去年受老谢的邀请,前往上海参加Gopher China大会。期间多次被问及何时能有实体书出版,熄了许久的心思方又活过来。年中,重新写了书稿,年底几乎又重来一遍,心底对于出书总有些忐忑。直到圣诞节,才放了下册出来。幸好,并没有人出来指责我粗制滥造,方得心安。

我儿小乖还太小,于是猴年我一人回老家过年。也许是在外面太久,对搬进城里的老家全然陌生,每日里除了陪父母吃饭外,其他时间都用来写上册书稿。偶尔透过窗看见远处的山影,才找回些幼时记忆。书写得意外顺利,即便网络不算通畅也未能影响到我。回京路上,我彻底定了主意,准备交付出版。

节后忙于培训一事,书稿校对稍稍拖后了些。边按章节调整,边请群里的伙伴们帮忙审校,所幸赶在截止日期前完成。样稿交到编辑手里,虽尚有些收尾工作,但总算能放轻松些。这于我是个解脱,困于此的心思总算少了一大半。

依惯例,需在此感谢很多人。其中自然少不了对我多加鼓励的家中太上领导和惦记良久的网络众位大仙们。当然,最需感谢的是群里帮忙校对的小伙伴们,有溺水的鱼、大内总管、starchou、老虎、日下、小E、春婶、奋斗娃等等。

读者定位

本书并不适合用作编程初学者入门,因内容和文体都太过简练了些。我厚脸推荐给有实际经验或正用Go工作的人群,可于路途中当闲书翻看几页。

联系方式

鉴于能力有限,书中难免错漏。如您看到任何问题,请与我联系,以便更正。谢谢!

雨痕

二〇一六年春

本书的版本历程

2012-01-11 开始学习Go。

2012-01-15 第一版,基于R60。

2012-03-29 升级到1.0。

2012-06-15 升级到1.0.2。

2013-03-26 升级到1.1。

2013-12-12 第二版,基于1.2。

2014-05-22 第三版,基于1.3。

2014-12-20 第四版,基于1.4。

2015-06-15 第五版,基于1.5。

2015-11-01 全新《学习笔记.第五版》。

2015-12-09 下卷《源码剖析》截稿,基于1.5.1。

2016-04-01 上卷《语言详解》截稿,基于1.6。